package com.mall.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.system.entity.UserEntity;

/**
 * 用户服务接口
 */
public interface UserService extends IService<UserEntity> {
    
    /**
     * 根据用户名查询用户
     *
     * @param username 用户名
     * @return 用户信息
     */
    UserEntity getByUsername(String username);
    
    /**
     * 根据手机号查询用户
     *
     * @param mobile 手机号
     * @return 用户信息
     */
    UserEntity getByMobile(String mobile);
    
    /**
     * 根据邮箱查询用户
     *
     * @param email 邮箱
     * @return 用户信息
     */
    UserEntity getByEmail(String email);
    
    /**
     * 用户注册
     *
     * @param user 用户信息
     * @return 是否成功
     */
    boolean register(UserEntity user);
    
    /**
     * 根据第三方平台唯一ID查询用户
     *
     * @param thirdPartyId 第三方平台唯一ID
     * @return 用户信息
     */
    UserEntity getByThirdPartyId(String thirdPartyId);
    
    /**
     * 根据用户ID查询用户
     *
     * @param userId 用户ID
     * @return 用户信息
     */
    UserEntity getById(Long userId);
    
    /**
     * 创建用户
     *
     * @param user 用户信息
     * @return 创建的用户信息
     */
    UserEntity create(UserEntity user);
}